home *** CD-ROM | disk | FTP | other *** search
- /* Bilanz V1.7 © 1992-1993 Stefan Wagener
- Haushaltskostenberechnung */
-
- #include "Bilanz.h"
- #include <workbench/startup.h>
-
- struct NewWindow WindowData = {
- 0,0,640,256,0,1, /* Left, Top, Width, Height, DetailPen, BlockPen */
- CLOSEWINDOW | MOUSEBUTTONS | RAWKEY | INTUITICKS,
- WINDOWDRAG | WINDOWDEPTH | WINDOWCLOSE | SMART_REFRESH |
- ACTIVATE | RMBTRAP ,
- 0, 0, /* FirstGadget, CheckMark */
- (UBYTE *)"Bilanz V1.7 © 1992 Stefan Wagener",
- 0,0,640,200,640,256, /* Screen, BitMap, MinWidth,Height,MaxWidth,Height */
- WBENCHSCREEN };
-
- struct IntuitionBase *IntuitionBase;
- struct GfxBase *GfxBase;
- struct Device *ConsoleDevice = NULL;
- struct IOStdReq ioStdReq;
-
- void main(argc,argv)
- int argc;
- union {
- char **args;
- struct WBStartup *msg;
- } argv;
- {
- int i, x, y, sh, key;
-
- if (IntuitionBase = (struct IntuitionBase *)
- OpenLibrary("intuition.library", 0L)) {
- if (GfxBase = (struct GfxBase *)
- OpenLibrary("graphics.library", 0L)) {
- if (!(OpenDevice("console.device",-1L,(struct IORequest *)&ioStdReq,0L))) {
- ConsoleDevice = ioStdReq.io_Device;
- if (win = (struct Window *) OpenWindow(&WindowData)) {
- RP = win->RPort;
-
- if (argc == 0) strcpy(file,argv.msg->sm_ArgList[1].wa_Name);
- else if (argc == 2) strcpy(file,argv.args[1]);
- else strcpy(file,FILENAME);
-
- GetClock();
- Start();
- UpdateFilter(-1);
- do {
- GetMessage();
- key = (class & RAWKEY && code<128) ? 1 : 0;
- x = win->MouseX; y = win->MouseY;
- sh = (qualifier&3L) ? 1 : 0; /* SHIFT pressed ? */
- if (class & INTUITICKS) {
- if (status) { /* clear status after a while */
- if (--counter <= 0) { counter = status = 0; StatusClr(); }
- }
- PrintDate();
- }
- else if (qualifier & 0x4000L || key) {
- if (entrygadgets) { /* gadgets for entries visible ? */
- if (MouseInFrame( 80,49,115,59) ||
- code==76 && sh) EntryFirst();
- else if (MouseInFrame(200,49,235,59) ||
- code==77 && sh) EntryLast();
- else if (MouseInFrame(120,49,155,59) ||
- code==76) EntryBack();
- else if (MouseInFrame(160,49,195,59) ||
- code==77) EntryNext();
- }
- if (MouseInFrame(60,15,90,25) || /* year back */
- sh && code==79 /* Shift LEFT */) {
- Gadget("<",60,15,90,25,1);
- YearChange(-1); WaitNoButton();
- Gadget("<",60,15,90,25,0);
- }
- else if (MouseInFrame(134,15,164,25) || /* year forward */
- sh && code==78 /* Shift RIGHT*/) {
- Gadget(">",134,15,164,25,1);
- YearChange(1); WaitNoButton();
- Gadget(">",134,15,164,25,0);
- }
- else if (MouseInFrame(60,32,90,42) || code==79 /* LEFT */) {
- Gadget("<",60,32,90,42,1);
- MonthBack(); WaitNoButton();
- Gadget("<",60,32,90,42,0);
- }
- else if (MouseInFrame(134,32,164,42) || code==78 /* RIGHT */) {
- Gadget(">",134,32,164,42,1);
- MonthNext(); WaitNoButton();
- Gadget(">",134,32,164,42,0);
- }
- else if (MouseInFrame(240,49,289,59) || code==54 /* N */) {
- Gadget("Neu",240,49,289,59,1);
- EntryNew();
- Gadget("Neu",240,49,289,59,0);
- }
- else if (MouseInFrame(360,49,480,59) ||
- code==34 && !sh /* d */) {
- Gadget("Monat drucken",360,49,480,59,1);
- OutPrinter();
- WaitNoButton();
- Gadget("Monat drucken",360,49,480,59,0);
- }
- else if (MouseInFrame(584,49,629,59) || /* change way of output */
- code==32 /* A */) {
- modus = 1 - modus;
- Gadget("Voll",584,49,629,59,modus);
- OutClr(); Out(count,MAXLINE,0);
- WaitNoButton();
- }
- else if (MouseInFrame(584,66,629,76) || /* include or exclude filter */
- code==23 /* I */) {
- include = 1 - include;
- if (include) Gadget("INCL",584,66,629,76,1);
- else Gadget("EXCL",584,66,629,76,0);
- OutStart();
- StatusYear(1);
- WaitNoButton();
- }
- }
- if (MouseIn(64,65,FILTER*74+63,77) || /* filtergadgets */
- code>=80 && code<=86) {
- if (code>=80 && code<=86) i = code-80;
- else {
- i = (x - 64)/74;
- if (code==MENUDOWN) sh=1;
- else if (code==SELECTDOWN) sh=0;
- else sh=-1;
- }
- if (sh==1) FilterChange(i);
- else if (!sh) {
- FilterSwitch(i);
- OutStart(); StatusYear(1);
- }
- }
- else if (MouseIn(360,49,480,59) && code==MENUDOWN ||
- code==34 && sh /* D */) {
- Gadget("Monat drucken",360,49,480,59,1);
- OutputDirection(); WaitNoButton();
- Gadget("Monat drucken",360,49,480,59,0);
- OutClr(); Out(count,MAXLINE,0);
- }
- else if (code==SELECTUP) { /* entries are choosed for changing */
- if (y > 100 && y < 250) {
- i = (y - 100)/10;
- if (i>=0 && i<15) {
- if (i < number) EntryChange(i);
- else EntryNew();
- }
- }
- }
- } while(!(class & CLOSEWINDOW || code==16 /* Q */ ));
- if (changeflag) SaveData(filename);
- DeleteYears(); /* free memory */
- CloseWindow(win);
- }
- else printf("Window kann nicht geöffnet werden!\n");
- }
- else printf("Fehler im Console-Device!\n");
- CloseLibrary((struct Library *)GfxBase);
- }
- else printf("Graphics-Library nicht gefunden!\n");
- CloseLibrary((struct Library *)IntuitionBase);
- }
- else printf("Keine Intuition-Library gefunden!\n");
- }
-